Low-cost, open-source XYZ nanopositioner for high-precision analytical applications

Graphical abstract

resolution, long service lifetimes, and compact sizes. Therefore, various types of piezoelectric positioners have been developed to achieve sub-nanometer precision [13][14][15]. For instance, flexure-guided piezoelectric positioners are widely used in microscopic imaging, nanoscale manipulation, and nano-machining [16][17][18]. However, the maximum displacement of the flexure-guided mechanism is usually less than a few hundred micrometers [19].
Friction-inertia piezoelectric nanopositioning systems utilize a stick-slip mechanism that can achieve both high resolutions and long traveling ranges [20][21][22][23][24]. In this mechanism, a sawtooth waveform drives the piezoelectric actuator, generating alternate slow and rapid motion. During the slow-moving period, the piezoelectric actuator moves a slider through a friction force. In the rapidly moving period, the inertia of the slider holds it in position and completes the stepping cycle. This mechanism requires a precisely adjusted preload force on the slider to maintain the friction force in the appropriate stickslip zone [25]. The preload is often provided by a flexure structure, which requires precise electric discharge machining [26][27][28]. The requirements of a complex preload mechanism and precision machining result in an increase in the cost of nanopositioning systems.
Herein, we describe a simple, adjustment-free, and open-source XYZ nanopositioner that has a compact size, low cost, easy assembly, and high-vacuum compatibility. The proposed open-source nanopositioner utilizes a magnet-based driving mechanism; the magnet simultaneously provides both a preload force and a friction surface. Through the stick-slip driving mechanism, the open-source nanopositioner can perform both high-resolution scanning (Fig. 1A) and long-range stepping (Fig. 1B) by the application of triangular and sawtooth waveforms, respectively. Moreover, the magnet significantly simplifies the driving mechanism and avoids fatigue issues that plague flexure structures.

Hardware description
The open-source XYZ nanopositioner ( Fig. 2A) has a compact size (21 mm Â 21 mm Â 40 mm), which is convenient for integration with other systems. Fig. 2B shows the XYZ nanopositioner consisting of one vertical and two horizontal linear nanopositioners. As shown in Fig. 2C and 2D, both the horizontal and vertical nanopositioners have a very simple design that utilizes a miniaturized linear slide, neodymium (NdFeB) magnets, a piezo stack actuator, and a connector. The off-the-shelf NdFeB magnets have a chromium coating that provides high surface hardness and corrosion resistance to protect the core of the magnet. The piezo stack actuates the magnet attached to the linear slide and drives the platform to achieve linear positioning. The chromium coating of the magnet also acts as a solid lubricant that reduces the wear on the side wall of the linear slide. Depending on the driving signal waveform (triangular or sawtooth) to the piezo stack, the XYZ nanopositioner can provide a range of approximately 3.7 lm in high-resolution scanning mode, a 12 mm long coarse movement in long-range stepping mode, and payload positioning capability up to 12 kg (see video 'Positioning 12 kg Granite.wmv' in the file repository).
The XYZ nanopositioner can be driven by controllers with different voltages (e.g., AttoCube ANC/AMC 300) ranging from À 30 to 150 V for the stepping and scanning modes. Herein we also present a simple, safe, and low-cost opensource controller (Fig. 3) that integrates an Arduino Mega microcontroller, digital-to-analog converters (DACs), and voltage/current amplifiers. The open-source controller can provide a voltage of 0-35 V to drive the nanopositioner for stepping-mode operation. Operating modes of the magnet-based driving mechanism. A magnet provides friction force, whereas a piezoelectric actuator (PZT) drives a linear slide platform. A) High-resolution scanning mode. Positive and negative voltage ramps respectively drive the PZT for Ds and -Ds distance actuation. B) Long-range stepping mode. A sawtooth waveform drives the PZT and achieves Ds displacement with a Ds' backlash.
Hsien-Shun Liao, C. Werner, R. Slipets et al. HardwareX 11 (2022) e00317 The XYZ nanopositioner was tested for its applicability in various systems, including long-range high-resolution sample positioning inside a scanning electron microscope (SEM), as a micro-structure alignment device for a vibrometer, and in the approaching/scanning mechanism for atomic force microscopy (AFM).
In summary, the presented open-source XYZ nanopositioner provides: atomic-scale scanning resolution, nanometer-scale positioning resolution, centimeter-scale working distance, heavy load capacity (up to 12 kg in the horizontal positioner), simple design and low component cost, ease of assembly without the need for adjustments, and compact size and ultra-high vacuum compatibility.  Design files summary

Key components
The parts were designed using SolidWorks 2014 (Dassault Systèmes SolidWorks Corporation, Waltham, MA, USA) computer-aided design (CAD) software. All the design files are available in IGES format and can be downloaded from the linked Open Science Framework (OSF) file repository. All metal parts were machined with 3000-series aluminum.  Arduino code The Arduino code generates 8-bit digital signals (through the Arduino Mega ports A, C, and L) to control the DAC board. The predefined stepping frequency is 5 Hz, but this can be changed by modifying the OCR4A value (from 12,500 to 20) in the code. The predefined pull-down control pins (A8-A13) connected to three switches (three-way toggle) can be used to control the movement of the X-, Y-, and Z-axis nanopositioners.

Electronics
The simple, low-cost, and open-source controller comprises an Arduino Mega microcontroller and a DAC board that contains three DACs and current/voltage amplifiers The digital signals generated by the Arduino Mega are fed to the DAC IC which outputs sawtooth waveforms with 8-bit resolution for the long-range stepping mode ( Fig. 1.B) Fig. 4 shows a schematic circuit diagram of the DAC board, which requires only one side circuit, resulting in simplicity and cost reduction (Fig. 5). An audio power amplifier IC (TDA2050, STMicroelectronics) amplifies the sawtooth waveform to a maximum voltage of 35 V and peak current of 5 A.
The DAC board provides three channels for driving the XYZ nanopositioner for long-range stepping-mode applications. Gerber and Drill files are also available in the OSF file repository. The XYZ nanopositioner can be driven by a p-p sawtooth signal of 15 V, and the user can change the power voltage of the DAC board from +15 to +35 V to obtain a p-p driving signal of 35 V. Fig. 6 details the pin connections between the Arduino Mega controller, DAC board, switches, and the XYZ nanopositioner.

Bill of materials summary
Apart from the 3D-printed components, some items were purchased from other sources. In addition, the metal parts were prepared by a local machine shop.

Build instructions
The assembly requires instant glue (Loctite Super Liquid 20 GR, Henkel, Düsseldorf, Germany) to ensure firm bonding between the components. This instruction can be applied to both metal and 3D-printed parts in the XYZ nanopositioners.
Horizontal nanopositioner assembly (Fig. 7) 7. Attach two magnets to the sidewall of the linear slide platform. Ensure that the magnets are >0.1 mm below the platform top surface. 8. Glue the magnets to the piezo stack. 9. Fix the H-Nano-02 to the platform with two M2 screws. 10. Repeat the above steps for the second horizontal positioner assembly. 11. For a detailed sequence of the assembly, see video 'Assembly Animation H Nano.mp4 0 in the file repository.
Vertical nanopositioner assembly (Fig. 8) 1. Components needed: 2 Â M1 screws, 6 Â M1.4 screws, 2 Â magnets, 1 Â piezo stack, 1 Â connector, 1 Â linear slide 6-13, 1 Â V-Nano-01, 1 Â V-Nano-02, and 1 Â V-Nano-03. 2. Insert and glue the connector to the side hole of the V-Nano-01. 3. Solder the VCC and GND wires (placed inside a groove on the V-Nano-01) of the piezo stack to the connector. Apply glue to the VCC pin of the connector (Fig. 8B). 4. Place the stationary part of the linear slide in contact with the alignment feature (Fig. 8A). 5. Fix the linear slide on the V-Nano-01 with two M1 screws. 6. Glue the piezo stack on the V-Nano-01. 7. Stick two magnets on the side wall of the linear slide. 8. Glue the magnets to the piezo stack. 9. Fix the V-Nano-02 to the platform of the linear slide using two M1.4 screws. 10. Fix the V-Nano-03 to the V-Nano-01 with four M1.4 screws. 11. For a detailed sequence of the assembly, see video 'Assembly Animation V Nano.mp4 0 in the file repository.

Validation and characterization (metal-based XYZ nanopositioner)
To characterize the performance of the XYZ nanopositioner, the stabilities of both high-resolution scanning and longrange stepping modes (driven by an ANC 300 controller, AttoCube, Haar, Germany) were tested using a laser interferometer (SP-S series, SIOS Meßtechnik GmbH, Ilmenau, Germany). Moreover, resonant frequencies of the mechanism were measured to examine the mechanical stiffness and dynamic response to environmental vibrations.

High-resolution scanning mode characterization
In the high-resolution scanning mode tests, the displacements of the horizontal and vertical nanopositioners were measured separately. The blue and red lines shown in Fig. 9 represent the displacements of the horizontal and vertical nanopositioners, respectively, driven by a triangular waveform with a voltage in the range 0-150 V. The results show that the fullscan ranges of the horizontal and vertical nanopositioners were 3.75 and 3.29 lm, respectively. The short travel range in the high-resolution scanning mode is suitable for high precision applications such as high-resolution imaging in AFM [29]. Moreover, the average slopes of the displacement versus driving voltage curves were approximately 25.0 nm/V and 21.9 nm/V for the horizontal and vertical nanopositioners, respectively. The slopes can be used to convert the electrical noise of the driving controller into displacements for evaluating the spatial resolution. By using a commercial AttoCube controller with an electrical noise of 5 mV (peak to peak, bandwidth = 20 MHz), sub-nanometer precision (horizontal: 0.125 nm, vertical: 0.11 nm) can be achieved.

Long-range stepping mode characterization
A sawtooth waveform with a frequency of 5 Hz was utilized to drive the nanopositioners in the long-range stepping mode. Fig. 10A and B show the forward and backward displacements, respectively, of the horizontal nanopositioner at a driving voltage range from 10 to 30 V. Fig. 10C and D shows that the average step size is proportional to the driving voltage, and the step sizes in the forward and backward directions are similar. The stepping displacements of the vertical nanopositioner in the upward and downward directions are shown in Fig. 11A and B, respectively. The average step size is positively proportional to the driving voltage between 30 and 100 V (Fig. 11C and D). The upward step size is smaller than the down- ward step size owing to the effect of gravity. In addition, the horizontal nanopositioner can carry a load of 12 kg, which is the maximum load capacity of the linear slide. The vertical nanopositioner load capacity was limited to 50 g because of the limitations presented by the friction force between the magnet and the sidewall of the linear slide. These results confirm that the proposed nanopositioner can achieve a step resolution of tens of nanometers, which is competitive with commercial stepper positioners widely used in nanoscale manipulation [30][31][32].

Resonant frequency characterization
In the resonance tests, the horizontal nanopositioner was tuned using a sinusoidal waveform, and the vibrations in the vertical direction were measured using a laser interferometer. The system frequency response was obtained using a lockin amplifier (SR830, Stanford Research Systems). The resonant spectrum of the horizontal nanopositioner (Fig. 12A) shows that the main resonant peak is located at 4.06 kHz. While testing the XYZ-stacked nanopositioner, the vertical nanopositioner was driven, and the vertical vibrations were measured. The result (Fig. 12B) shows that the resonant frequency of the XYZstacked nanopositioner is 0.89 kHz. The resonant frequency is an index for examining the speed and rigidity of the nanopositioner [19] and the resonant frequencies of the proposed nanopositioners are adequate for general applications [33][34][35].

Demonstrations and applications
The proposed nanopositioner has been utilized in multiple scientific research applications. Practical tests and demonstrations were carried out, wherein the XYZ nanopositioner was integrated into a SEM, vibrometer, and an AFM.

Sample probing inside a SEM
The XYZ nanopositioner is compact, which enables easy integration on a sample stage inside a desktop SEM (EM100, TEMIC, Taipei, Taiwan). The XYZ nanopositioner, driven by the Arduino-based open-source stepping mode controller, was used to achieve the high-resolution nanoscale probing of a ZnO nanorod surface, as shown in Fig. 13A. The nanopositioner was fitted with a probe holder having an attached tungsten probe (Fig. 13B). During operation, the tip of the tungsten probe was actuated in three different axes on top of the ZnO nanorod sample for electrical characterization, as shown in Fig. 13C. The nanopositioner could be operated in a 10 À4 Torr vacuum.
The platform of the linear slide was made of ferromagnetic material and magnets were attached to the platform. Therefore, half the magnetic field travelled within the platform and the other half was partially shielded by the metal components. Moreover, the distance between the magnets inside the nanopositioner and the target objects was greater than 25 mm. The magnetic field of the nanopositioner decreases considerably with distance (I = 1/d 2 , where d is the distance and I is the intensity of the magnetic field); hence, there were no observable distortions during the SEM imaging. Thus, the magnet-based driving mechanism did not affect the SEM imaging quality when the magnets were away from the sample.  Microstring resonator characterization As shown in Fig. 14A, the XYZ nanopositioner was placed inside a small vacuum chamber (<10 À3 Torr) for ultra-sensitive microstring resonator characterization [36]. A cleanroom-fabricated silicon chip with suspended SiN microstrings was placed on top of a piezoelectric actuator (PZT) for actuation (Fig. 14B). A laser Doppler vibrometer (MSA-500, Polytec, Baden-Württemberg, Germany) was used to measure the vibrational displacement, and a lock-in amplifier (HF2LI 50 MHz, Zurich Instruments) was employed to track the heat-induced resonance frequency changes. The nanopositioner played a crucial role in precisely aligning specific microstrings within the optical field of view of the vibrometer. As shown in Fig. 14C, the vibrometer laser (633 nm HeNe) was scanned along the length of the microstring (200 lm Â 3 lm Â 0.2 lm), and the fundamental resonance frequency was tracked. The decreasing thermal conductance towards the center of the microstring leads to an increase in the average temperature, and the resulting thermal expansion was measured by detuning the resonance frequency, as shown in Fig. 14D. The nanopositioner has also been applied in a digital video disc (DVD) optical pick-up unit (OPU) sensing system [37][38][39][40][41][42][43][44][45]-based vibrometer, as reported previously [46].

Atomic resolution imaging
For AFM instrumentation, the XYZ nanopositioner provides an elegant solution to miniaturize the system size. In particular, reducing the size of the device enhances the rigidity of the interaction between the AFM probe and the sample. Fig. 15A shows a schematic of a miniaturized AFM-denoted 'Espresso AFM' owing to a size similar to that of an espresso cup (Fig. 15B)-utilizing the nanopositioner and a DVD OPU for nanoscale imaging [47][48][49][50][51][52][53]. The nanopositioner provides longrange stepping and high-resolution scanning modes, which are convenient for X-Y axes coarse adjustment/Z-axis tip motion and atomic-resolution imaging, respectively. Crucially, the DVD OPU monitors the AFM probe at atomic resolution [54][55][56][57][58][59][60].
To characterize the performance of the 'Espresso AFM' system, a highly oriented pyrolytic graphite (HOPG) sample was used. Working videos of the 'Espresso AFM' can be found in 'photo and video' folder of the file repository.
The nanopositioner was used to move the AFM probe toward the HOPG surface, and the surface was then scanned in an area of 2.2Â2.2 lm 2 , clearly revealing the graphene layers, as shown in Fig. 15C. The results of the cross-sectional analysis of the line shown in the enlarged image in Fig. 15D is shown in Fig. 15E. As indicated by the two arrows, a single-carbon-atom step (0.3 nm) was imaged by the miniaturized AFM. Furthermore, the high stiffness of the nanopositioner and compact size of the AFM system reduced the mechanical instability to the sub-atomic scale (<0.2 nm). In conclusion, the open-source XYZ nanopositioner achieves: easy integration to existing systems, nanoscale probing inside an SEM, coarse and fine scanning, and atomic resolution imaging.

Design variations
The nanopositioner variants (Fig. 16) share the same driving mechanism. In the following list, we provide the CAD images and photographs of the variations for diverse applications: 3D-printable nanopositioners, miniaturized versions, one with a central aperture of 20 mm, hacked conventional cross-roller linear slides, and variations compatible with commercial systems. Working videos of those nanopositioners can be found in 'photo and video' folder of the file repository. High-resolution probing

Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.